Class Cohesion Revisited: An Empirical Study on Industrial Systems

نویسندگان

  • Hind Kabaili
  • Rudolf K. Keller
  • François Lustman
چکیده

The assessment of the changeability of software systems is of major concern for buyers of the large systems found in fast-moving domains such as telecommunications. One way of approaching this problem is to investigate the dependency between the changeability of the software and its design, with the goal of finding design properties that can be used as changeability indicators. In the realm of objectoriented systems, experiments have been conducted showing that coupling between classes is such an indicator. However, class cohesion has not been quantitatively studied in respect to changeability. In this research, we set out to investigate whether low cohesion is correlated to high coupling and thus is a changeability indicator, too. As cohesion metrics, LCC and LCOM were adopted, and for measuring coupling, the Chidamber and Kemerer coupling metrics and variants thereof were used. The data collected from three test systems of industrial size indicate no such correlation. Suspecting that the cohesion metrics adopted for the experiment do not adequately capture the cohesion property, we analyzed manually the classes with lowest cohesion values. We found various reasons why these classes, despite of their low cohesion values, should not be broken into smaller classes. We conclude that cohesion metrics should not only be based on common attribute usage between methods and on method invocation, but also on patterns of interaction between class members and, ultimately, on the functionality of methods

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Empirical Exploration for the Correlation between Class Object-Oriented Connectivity-Based Cohesion and Coupling

Attributes and methods are the basic contents of an object-oriented class. The connectivity among these class members and the relationship between the class and other classes play an important role in determining the quality of an object-oriented system. Class cohesion evaluates the degree of relatedness of class attributes and methods, whereas class coupling refers to the degree to which a cla...

متن کامل

Revisiting Class Cohesion: An empirical investigation on several systems

Class cohesion is considered as one of most important object-oriented software attributes. Cohesion refers to the degree of relatedness between members in a class. High cohesion is a desirable property of classes. Several metrics have been proposed in literature in order to measure class cohesion in object-oriented systems. They capture class cohesion in terms of connections between members wit...

متن کامل

A Proposal of a New Class Cohesion Criterion: An Empirical Study

Class cohesion refers to the degree of the relatedness of the members in a class. It is considered as one of most important object-oriented software attributes. Several metrics have been proposed in the literature in order to measure class cohesion in objectoriented systems. They capture class cohesion in terms of connections among members within a class. The major existing class cohesion metri...

متن کامل

The impact of accounting for special methods in the measurement of object-oriented class cohesion on refactoring and fault prediction activities

Class cohesion is a key attribute that is used to assess the design quality of a class, and it refers to the extent to which the attributes and methods of the class are related. Typically, classes contain special types of methods, such as constructors, destructors, and access methods. Each of these special methods has its own characteristics, which can artificially affect the class cohesion mea...

متن کامل

A Proposal for Normalized Lack of Cohesion in Method (LCOM) Metric Using Field Experiment

Chidamber and Kemerer first defined a cohesion measure for object-oriented software – the Lack of Cohesion in Methods (LCOM) metric. One of the critique of the LCOM metric is that the metric does not yield normalized or standardized values, and as such, the metric does not seem appealing to a section of the software engineering community. This paper presents an approach for normalizing the LCOM...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000